如何基于建筑矢量面数据,在超图产品体系中,快速批量制作美化效果,并在三维客户端加载?
本文档从数据处理,材质关联文件,客户端加载三个部分进行介绍。其中涉及到的产品包括:SuperMap iDesktop,客户端
1、原始数据准备
原始数据是建筑矢量面数据,属性表中需要有建筑高度或楼层数相关的属性,便于后期根据此属性拉伸成模型,示例中使用Height中的属性值。
图1
2、材质素材准备
我们提供了11种类型的材质素材,用于设置白模的外观,有需要的用户可以联系我们,用户也可以使用自己的材质素材。
图2
3、矢量面数据属性处理
打开面数据集的属性面板,在其属性中,添加“侧面材质”,“顶面材质”两个文本型属性;
图3
我们需要在属性表里面,给每个模型对象设置想要被赋予的材质类型:
图4
图5
最终结果如下:
图6
4、生成S3M缓存
选择“三维数据-生成缓存-面拉伸生成模型缓存” 功能,在弹出的面板中,选择建筑矢量面数据集。
参数设置:指定生成缓存的路径;拉伸高度设置为“Height”;瓦片边长根据数据范围设置,这里由于是整个城市的数据,设置为“6000”;
材质设置:首先需要勾选上材质模式,贴图模式选择“真实大小”;贴图字段分别选择“顶面材质”,“侧面材质”;如果使用我们提供的UE材质素材,这里的UV设置为“30”比较合适;
设置完成之后,点击生成,得到S3M缓存数据。
图7
图8
1、手动修改以下文件
"Materials"中,默认给出了材质的关联关系,其中"AssociateMaterial"后面的材质名称为UE中的材质;"OriginalMaterial"后面的材质名称为S3M缓存数据的材质名称,是在数据处理第三步中,设置的顶面材质与侧面材质的属性值。
注:如果使用的是我们提供的材质素材,不需要修改"AssociateMaterial"后面的材质名称。
图9
图10
图10-1
1、发布三维服务
在前面步骤中我们生成了白模的缓存数据,放好了材质文件,接下来将白模的缓存发布三维服务,在客户端端加载。具体步骤如下:
图11
图12
图13
图14
图15
图16
2、客户端浏览数据
发布了三维服务以后,在此步骤中便可通过客户端浏览数据。
获取:进入服务列表页面(http://localhost:8090/iserver/services),找到并点击上一步骤所发布的三维服务;
进入“根目录”页面,点击”realspace“;复制整个地址。如下:“http://localhost:8090/iserver/services/3D-BaiMoMeiHua/rest/realspace”
图17
修改为:var promise = scene.open(‘http://localhost:8090/iserver/services/3D-BaiMoMeiHua/rest/realspace’);
图18
图19
白天效果
图20
如果想要调整材质的明暗程度,可以修改metallicFactor和roughnessFactor参数的值,当粗糙度roughnessFactor的值等于0的时候,会没有PBR的效果,所以需要设置大于0。此外还可以在此处添加 "intensityScale"参数来调整。
图21
傍晚场景效果
图22
夜晚场景效果
图23
注:
1.请使用超图官网上最新的SuperMap iDesktop和客户端版本。软件下载地址: